from jinja2 import Environment
from django.urls import reverse
from django.contrib.staticfiles.storage import staticfiles_storage


def jinja2_environment(**options):
    """
    设置Jinja2模板引擎环境变量：创建新的语法
    反向解析：{{ url('路由命名空间') }}
    加载静态文件：{{ static('相对路径') }}
    """
    # 创建环境变量对象
    env = Environment(**options)

    # 创建新的语法
    env.globals.update({
        'url': reverse,
        'static': staticfiles_storage.url
    })

    # 返回环境变量对象
    return env